10 REM QUIZ MASTER 20 DIMQ$(100),A$(100),B$(100),C$(100),D$(100),E$(100),M$(15) 30 PRINT"":POKE53280,13:POKE53281,5:GOTO50 40 POKE198,6:POKE631,30:POKE632,34:POKE633,34:POKE634,20:POKE635,5:RETURN 50 POKE53272,23:GOTO970 60 PRINT"[147]":CLR 70 DIMQ$(100),A$(100),B$(100),C$(100),D$(100),E$(100),M$(15),SN$(400),G(400) 80 GOSUB1830:GOSUB1360:GOSUB2070 90 PRINT"[197]NTER NUMBER OF TEST TO LOAD:":INPUTN 100 IFN<0ORN>XTHENPRINT"[201]NVALID [210]ANGE":GOTO90 110 N$=M$(N):PRINTSPC(12)"[147] [204][207][193][196][201][206][199][160][196][193][212][193][160][160][160]" 120 GOSUB1830:GOSUB2150:OPEN2,8,2,+N$+" FILE,S,R":X=0 130 X=X+1 140 INPUT#2,Q$(X):INPUT#2,A$(X):INPUT#2,B$(X):INPUT#2,C$(X):INPUT#2,D$(X):INPUT#2,E$(X) 150 IFST AND64THEN170 160 GOTO130 170 CLOSE2:POKE198,0:L=X:N=X:T=0 180 IFR=1THEN240 190 GOSUB2150:GOSUB2070:GOSUB1670 200 IFH=0THEN970 210 IFH=1THEN240 220 REM INPUT QUESTIONS 230 PRINT"[147][197]NTER [206]AME FOR [209]UIZ":INPUTN$:GOSUB1460:N=0 240 N=N+1:PRINT"[147]":PRINTSPC(13)" [209][213][201][218] [205][193][211][212][197][210] [146]" 250 PRINT:PRINT" [215][193][210][206][201][206][199]! [196]O NOT EXCEED 80 [195]HARACTERS " 260 PRINT:PRINT" [197]NTER \ TO EXIT ROUTINE " 270 IFN>=100THENPRINT"[147] [198][201][204][197][160][198][213][204][204]":FORT=1TO2000:NEXT:GOTO980 280 GOSUB40 290 H=0 300 PRINT"[197]NTER [209]UESTION #";N:PRINT 310 INPUTQ$(N) 320 IFQ$(N)=""THEN310 330 IFQ$(N)=CHR$(92)THENN=N-1:GOTO770 340 IFLEN(Q$(N))>80THENGOSUB1290 350 IFH=1THEN240 360 PRINT"[197]NTER FIRST ANSWER:":PRINT:GOSUB40:H=0 370 INPUT"A. ";A$(N):IFA$(N)=""THEN370 380 IFASC(A$(N))=92THENN=N-1:GOTO770 390 A$(N)="A. "+A$(N) 400 IFLEN(A$(N))>80THENGOSUB1290 410 IFH=1THENGOTO360 420 PRINT"[197]NTER SECOND ANSWER:":PRINT:GOSUB40:H=0 430 INPUT"B. ";B$(N):IFB$(N)=""THEN430 440 IFASC(B$(N))=92THENN=N-1:GOTO770 450 B$(N)="B. "+B$(N) 460 IFLEN(B$(N))>80THENGOSUB1290 470 IFH=1THENGOTO420 480 PRINT"[197]NTER THIRD ANSWER:":PRINT:GOSUB40:H=0 490 INPUT"C. ";C$(N):IFC$(N)=""THEN490 500 IFASC(C$(N))=92THENN=N-1:GOTO770 510 C$(N)="C. "+C$(N) 520 IFLEN(C$(N))>80THENGOSUB1290 530 IFH=1THENGOTO480 540 PRINT"[197]NTER FOURTH ANSWER:":PRINT:GOSUB40:H=0 550 INPUT"D. ";D$(N):IFD$(N)=""THEN550 560 IFASC(D$(N))=92THENN=N-1:GOTO770 570 D$(N)="D. "+D$(N) 580 IFLEN(D$(N))>80THENGOSUB1290 590 IFH=1THENGOTO540 600 PRINT"[197]NTER [204]ETTER OF [195]ORRECT [193]NSWER:":PRINT:H=0 610 INPUTE$(N):IFE$(N)=""THEN610 620 IFASC(E$(N))=92THENN=N-1:GOSUB770:GOTO990 630 IFLEN(E$(N))<>1THENGOSUB1290 640 IFE$(N)="A"THEN690 650 IFE$(N)="B"THEN690 660 IFE$(N)="C"THEN690 670 IFE$(N)="D"THEN690 680 PRINT" [197]RROR: RE-ENTER":GOTO610 690 IFH=1THEN600 700 IFP=1THENRETURN 710 L=N:GOSUB2070:IFN=100THEN730 720 GOTO240 730 PRINT:PRINTSPC(7)"[198]ILE CONTAINS 100 [197]NTRIES." 740 PRINT:PRINT"[196]ATA WILL BE STORED. [207]PEN NEW TEXT FILE" 750 GOSUB1720:GOSUB770:GOTO990 760 REM STORE DATA 770 GOSUB2070:PRINTSPC(10)" [215]AIT, [211]TORING [196]ATA ":GOSUB2150 780 GOSUB1830:OPEN2,8,2,"@0:"+N$+" FILE,S,W" 790 FORX=1TOL:PRINT#2,Q$(X):PRINT#2,A$(X):PRINT#2,B$(X):PRINT#2,C$(X):PRINT#2,D$(X):PRINT#2,E$(X):NEXT 800 CLOSE2:POKE198,0:GOSUB2150:GOSUB2070:GOSUB1670:RETURN 810 REM CHANGE ANSWER 820 GOSUB2070:P=1:PRINT"[147] [197]NTER [206]UMBER OF [209]UESTION":INPUTW 830 PRINT"[147]":S$=Q$(W):GOSUB1190:S$=A$(W):GOSUB1190:S$=B$(W):GOSUB1190 840 S$=C$(W):GOSUB1190:S$=D$(W):GOSUB1190 850 PRINT"[195]ORRECT ANSWER IS:":PRINTE$(W) 860 GOSUB1670:N=W-1:GOSUB240:GOSUB770:RETURN 870 REM REVIEW ROUTINE 880 GOSUB2070:Y=1:PRINT"[147]" 890 PRINT:PRINTTAB(20-LEN(N$)/2);N$:GOSUB1670:PRINT"" 900 FORN=1TOL:PRINT"[147]" 910 IFQ$(N)=""THENGOTO960 920 S$=STR$(N)+". "+Q$(N):PRINT:GOSUB1190 930 REM ANSWER CHOICES 940 S$=A$(N):GOSUB1190:S$=B$(N):GOSUB1190:S$=C$(N):GOSUB1190:S$=D$(N):GOSUB1190 950 PRINT:PRINT"[195]ORRECT ANSWER IS: ":PRINTTAB(7)E$(N):GOSUB2070 960 GOSUB1670:NEXT:RETURN 970 REM PROGRAM MENU 980 H=0 990 PRINT"[147]":POKE53280,13:POKE53281,5 1000 GOSUB2070 1010 P=0 1020 PRINTSPC(13)" [209][213][201][218][160][205][193][211][212][197][210] " 1030 PRINT:PRINTSPC(5)"[197]NTER NUMBER OF FUNCTION:" 1040 PRINT:PRINTSPC(8)"1. [197]NTER [206]EW [209]UESTIONS" 1050 PRINT:PRINTSPC(8)"2. [210]EVIEW [209]UESTIONS" 1060 PRINT:PRINTSPC(8)"3. [195]HANGE A [209]UESTION" 1070 PRINT:PRINTSPC(8)"4. [204]OAD [208]REVIOUS [196]ATA" 1080 PRINT:PRINTSPC(8)"5. [193]DD TO [212]EST IN [198]ILE" 1090 PRINT:PRINTSPC(8)"6. [201][206][201][212][201][193][204][201][218][197] [196]ISK" 1100 PRINT:PRINTSPC(8)"7. [197][206][196]" 1110 PRINT:PRINTSPC(5)"[206]UMBER?" 1120 GETG$:IFG$=""THEN1120 1130 G=ASC(G$)-48:IFG<1ORG>8THEN1120 1140 ONGGOSUB230,880,820,60,1640,1730,1170 1150 GOTO990 1160 GOSUB2070 1170 POKE198,0:SYS198 1180 REM PRINT JUSTIFY 1190 PRINT 1200 IFLEN(S$)<40THENPRINTS$:GOTO1280 1210 X=40:Y=1 1220 X=X-1 1230 IFASC(MID$(S$,X,Y)+CHR$(0))<>32THEN1220 1240 PRINTLEFT$(S$,X) 1250 Z=LEN(S$) 1260 Z=Z-X 1270 PRINTRIGHT$(S$,Z) 1280 RETURN 1290 PRINT"ENTRY TOO LONG: RE-PHRASE" 1300 H=1:FORT=1TO2000:NEXT:RETURN 1310 REM TEST TITLE FILE 1320 PRINT:PRINT"HAS TEST TITLE FILE BEEN INITIATED?(Y/N)":GOSUB2070 1330 GETG$:IFG$=""THEN1330 1340 IF G$="N"THEN1460 1350 IFG$<>"Y"THEN1330 1360 PRINT:PRINTSPC(17)" WAIT " 1370 GOSUB2150:GOSUB1830:OPEN3,8,3,"TEST TITLES,S,R" 1380 X=0 1390 X=X+1:INPUT#3,M$(X) 1400 IFST AND64THEN1420 1410 GOTO1390 1420 CLOSE3:POKE198,0:GOSUB2150 1430 IFS1<>0THEN2110 1440 PRINT"[147]":PRINTSPC(14)"TEST TITLES":PRINT 1450 FORA=1TOX:PRINTA;". ";M$(A):NEXT:RETURN 1460 REM INITIATE TEST FILE 1470 IFX=15THENGOSUB1710 1480 IF X=15THENX=1 1490 IFX=1THEN1600 1500 PRINT"[147][200]AS FILE OF TEST NAMES BEEN STARTED?" 1510 GETG$:IFG$=""THEN1510 1520 IF G$="N"THEN1600 1530 IFG$="Y"THENGOSUB1370 1540 PRINTX+1". "N$ 1550 PRINT"[201]S YOUR TITLE ORIGINAL?" 1560 GETG$:IFG$=""THEN1560 1570 IF G$="Y"THEN1600 1580 PRINT"[197]NTER NEW TITLE FOR TEST:" 1590 INPUTN$ 1600 M$(X+1)=N$:GOSUB2070 1610 PRINT:PRINTSPC(13)" [211]AVING [212]ITLE " 1620 GOSUB1830:OPEN3,8,3,"@0:TEST TITLES,S,W" 1630 FORA=1TOX+1:PRINT#3,M$(A):NEXT:CLOSE3:POKE198,0:GOSUB2150:RETURN 1640 REM TEST ADDITION ROUTINE 1650 CLR 1660 R=1:GOSUB70:R=0:GOTO990 1670 PRINT:PRINTTAB(5)" [208][210][197][211][211][160][211][208][193][195][197][160][194][193][210][160][212][207][160][195][207][206][212][201][206][213][197] [146]" 1680 GETG$:IFASC(G$+CHR$(0))<>32THEN1680 1690 RETURN 1700 PRINT"[147]" 1710 PRINTSPC(10)"[147][198][201][204][197] [198][213][204][204]" 1720 FORT=1TO2000:NEXT:RETURN 1730 PRINT"[147] [196]O YOU WANT TO INITIALIZE A NEW DISK? ":PRINTTAB(17)" ([217]/[206]) " 1740 GETG$:IFG$=""THEN1740 1750 IFG$="Y"THENPRINT"TYPE [199][207][212][207] 1790 AND PRESS [210][197][212][213][210][206]":END 1760 IFG$<>"N"THEN1740 1770 IFG$="N"THENRETURN 1780 END 1790 PRINT"[147] [201]NSERT [206]EW [196]ISK INTO [196]RIVE 1800 [153]" (null)RESS ANY KEY WHEN READY TO PROCEED" 1810 [141]1820:[137]1850 1820 [161]G$:[139]G$[178]""[167]1820 1830 [159]15,8,15:[152]15,"I0:":[160]15:[142] 1840 [128] 1850 [143] PRINT"LOAD (null)ATNRIGHT$(null)1730 1860 PRINT"  [215][193][210][206][201][206][199]!!!" 1870 PRINT"  [196][201][211][203][160][201][206][160][196][210][201][214][197][160][201][211][160][193][194][207][213][212][160][212][207][160][194][197][160][197][210][193][211][197][196]!" 1880 PRINT" [160] [160][193][210][197][160][217][207][213][160][211][213][210][197]? ([217]/[206]) " 1890 GETG$:IFG$=""THEN1890 1900 IFG$="Y"THEN1930 1910 IFG$="N"THEN990 1920 GOTO1890 1930 PRINT"[147][197]NTER [196][201][211][203][206][193][205][197]";:INPUTDN$ 1940 IFLEN(DN$)>15THENPRINT"[206][193][205][197][160][212][207][207][160][204][207][206][199], [212][210][217][160][193][199][193][201][206]":FORT=1TO1000:NEXT:GOTO1930 1950 PRINT"[197]NTER 2 [195]HARACTER DISK [201].[196].":INPUTID$ 1960 POKE53281,2:POKE53280,2:PRINT"[147] [204][193][211][212][160][195][200][193][206][195][197][160][212][207][160][211][212][207][208]!!!" 1970 PRINT:PRINT" [208][210][197][211][211][160][193][206][217][160][203][197][217][160][212][207][160][211][212][207][208]!!!":FORT=1TO1000 1980 GETG$:IFG$<>""THEN990 1990 NEXT 2000 PRINT"[147][196][201][211][203][160][201][211][160][194][197][201][206][199][160][198][207][210][205][193][212][212][197][196]--[215][193][201][212]" 2010 OPEN15,8,15:PRINT#15,"N0:"+DN$+","+ID$ 2020 INPUT#15,S1,S$,S2,S3:CLOSE15:IFS1<>0THEN2110:GOSUB2050 2030 PRINT"[147] [196][201][211][203][160][198][207][210][205][193][212][212][197][196][160]":FORT=1TO2000:NEXT 2040 POKE53280,13:POKE53281,5:GOTO990 2050 FORT=1TO1000:NEXT:POKE53280,13:POKE53281,5:RETURN 2060 REM SOUND ROUTINE 2070 S=54272 2080 POKES,100:POKES+1,125:POKES+5,0:POKES+6,240:POKES+24,15:POKES+4,17 2090 FORT=0TO100:NEXT 2100 POKES+4,0:RETURN 2110 PRINT"[196][201][211][203][160][197][210][210][207][210] ";S1,S$,S2,S3 2120 PRINT:PRINT"[195]ORRECT [197]RROR CONDITION AND TRY AGAIN" 2130 GOSUB1670 2140 GOTO980 2150 OPEN15,8,15:INPUT#15,S1,S$,S2,S3:CLOSE15:IFS1<>0THEN2110 2160 PRINT"[196]ISK [211]TATUS: "S$ 2170 RETURN